
public class Lista implements Structura {
	protected int[] lista;
	private static int i;
	private static int max;
	
	
	public Lista()
	{
		i=0;
		max=10;
		lista=new int[10];
	}
	
	
	public Lista(int dimensiune)
	{
		i=0;
		max=dimensiune;
		lista=new int[dimensiune];
	}
	
	
	private int[] getLista()
	{
	return this.lista;
	}
	private void setLista(int[] l)
	{
		int n=l.length;
	    for(int i=0;i<n;i++)
	    {
	    	this.lista[i]=l[i];
	    }
	    
	}
	
	
	public void adauga(int elem)
	{
	if(i<max)
	{
	lista[i]=elem;
	i=i+1;
	}
	else
	{
		System.out.println("Lista este plina, nu se poate adauga elementul "+elem);
	}

	
	
	}
	public void sterge(int elem)
	{
	int i=0;
	int[] aux=new int[max];
	int iAux=0;
	int nrAparitii=0;
	while(i<i)
	{
		if(this.lista[i]!=elem)
		{
		  	aux[iAux]=this.lista[i];
		  	iAux++;
		}
		else
		{
			nrAparitii++;
		}
		i++;
	}
	this.setLista(aux);
	i=i-nrAparitii;
	
	}
	
	
	public void inserareLaIndice(int indice, int elem)
	{
	if((indice>=0)&&(indice<max))
	{
		int [] aux=new int[max];
		int i=0;
           for(i=0;i<indice;i++)
          {
           	aux[i]=this.lista[i];
           }
           aux[i]=elem;
           i++;
           for(int j=i;j<i;j++)
           {
           	aux[i]=this.lista[j];
           }
           System.out.println("j"+aux.length+" "+indice);
           for(int k=0;k<aux.length;k++)
           {
           	System.out.println(aux[k]);
           }
           if(indice>=i)          {
           i=aux.length;
           }
           this.setLista(aux);
	}
	else
	{
		System.out.println("Indice invalid in lista");
	}
}
	
	
	public void afiseaza()
	{
	if(i>0)	
	{
	System.out.print("Lista:(");
	for(int i=0;i<i-1;i++)
	{
		System.out.print(this.lista[i]+",");
	}
	System.out.println(this.lista[i-1]+")");
	}
	else
	{
		System.out.println("Lista  vida");
	}
}
	

}
